package com.hnust.service;

import com.hnust.domain.Student;
import com.hnust.domain.record.AddOneStudent;
import com.hnust.domain.record.SearchStudentInfo;
import com.hnust.domain.record.SimpleStudentInfo;
import com.hnust.domain.record.StudentInfo;
import com.hnust.util.PageVo;

import java.util.List;
import java.util.Map;

/**
 * 学生列表服务接口
 */
public interface StudentService {

    //根据学院获取所有年级
    public List<String> getAllGrade(String collegeId);

    //根据学院，年级获取所有专业
    public List<String> getAllMajor(String grade,String collegeId);

    //根据年级专业，学院，获取所有班号
    public List<String> getAllClass(String grade, String major, String collegeId);

    //根据年级专业，学院，获取所有班号
    public List<Map<String,String>> getAllClassNew(String grade, String major, String collegeId);

    //分页条件查询学生所有信息
    public PageVo<List<SimpleStudentInfo>> querySimpleStudenInfo(String collegeId, SearchStudentInfo searchStudentInfo,
                                                                 Integer rows, Integer currentPage);
    //删除学生信息
    Boolean deleteStuRecord(String studentId);

    //批量删除学生信息
    Boolean massDeleteStuRecord(List<String> studentIDs);

    //重置学生密码
    Boolean resetStuPwd(String id);

    //获取某个学生的具体信息
    StudentInfo getStudentInfo(String stuId);

    //批量存储学生
    Boolean addStudents(List<Student> students) throws Exception;

    // 插入单个学生
    Boolean addOneStudent(AddOneStudent studentInfo);

}
